Almost immediately after a typical computer system is powered on, the basic input-output services (“BIOS”) firmware performs a series of brief tests on some of the more fundamental hardware components of the system such as the central processing unit, memory, display controller and keyboard controller. This series of tests is commonly known as the power-on self test (“POST”). The POST is capable of generating a variety of error messages as a result of performing its routines, and can halt the boot process in addition to generating error messages if it discovers severe problems. The error messages generated by the POST normally take three different forms: audio codes, display-screen messages, and hexadecimal numeric codes sent to an input/output port address. The latter form will be referred to hereinafter as “I/O port POST codes”.
The I/O port POST codes are useful during the prototype phase of motherboard development and also when diagnosing failures in systems that lock or hang during POST. Because the POST runs before even the operating system has been loaded, I/O port POST codes often represent the best available information about problems in the system. The most common prior art method for extracting I/O port POST codes is to place a special-purpose printed circuit board into one of the PCI or ISA expansion slots of the computer system. The special-purpose printed circuit board monitors the expansion bus to detect writes to certain I/O ports, and displays the information written to those ports on an LED display.
Such prior art circuit boards are inconvenient to use for a variety of reasons. In some computer systems, it is not even possible to use them because of expansion slot crowding or because expansion slots are not provided.